package com.whfc.emp.service;

import com.whfc.common.exception.BizException;
import com.whfc.emp.dto.FaceCheckInResultDTO;
import com.whfc.emp.param.FaceCheckInParam;

/**
 * @Description 人脸识别签到服务
 * @Author dzg
 * @Date 2025-11-04
 * @Version 1.0
 */
public interface FaceRecognitionCheckInService {

    /**
     * 人脸识别签到检测
     *
     * @param param 人脸识别签到参数
     * @return 签到结果
     * @throws BizException 业务异常
     */
    FaceCheckInResultDTO faceCheckIn(FaceCheckInParam param) throws BizException;

    /**
     * 获取工作计划关联的施工人员人脸特征
     *
     * @param planId 工作计划ID
     * @return 人脸特征列表
     * @throws BizException 业务异常
     */
    java.util.List<String> getWorkerFaceFeaturesByPlanId(Integer planId) throws BizException;

    /**
     * 获取工作计划的旁站监护人员
     *
     * @param planId 工作计划ID
     * @return 监护人员ID列表
     * @throws BizException 业务异常
     */
    java.util.List<Integer> getSupervisorsByPlanId(Integer planId) throws BizException;
}